/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package trabalho4paradigmas;

import java.util.*;
import cliente.Cliente;
import cliente.ListaCliente;
import java.io.FileNotFoundException;
import java.io.IOException;
import mercadoria.ListaMercadoria;
import mercadoria.Mercadoria;
import relatorio.Relatorio;
import venda.ListaVenda;
import venda.Venda;
/**
 *
 * @author Luis Henrique
 */
public class FrontEnd {
    
    /*public static void main (String [] args) throws FileNotFoundException, IOException {
        
      int op;
        //Listas de Cleintes, Itens no estoque e Vendas realizadas 
        ArrayList<Cliente> listaCliente = new ArrayList<Cliente>();
        ArrayList<Mercadoria> listaMercadoria = new ArrayList<Mercadoria>();
        ArrayList<Venda> listaVenda = new ArrayList<Venda>();
        //Inicializa objeto e carrega Arquivos
        carregaArquivos arquivos = new carregaArquivos();
        arquivos.leArquivo(listaCliente,listaMercadoria,listaVenda);
      do{   
        Scanner scanner = new Scanner (System.in);
        System.out.println("Escolha entre as Opções\n"
                + "1 - Cadastrar Cliente "
                + " 2 - Registrar Compra "
                + " 3 - Registrar Venda "
                + " 4 - Gerar Relatorio "
                + " 0 - Sair");
        op = Integer.parseInt(scanner.nextLine());
        switch (op){
            case 1:
                //cadastra cliente
                System.out.println("Digite o nome do Cliente: ");
                String nomeCliente = scanner.nextLine();
                System.out.println("Digite o endereco do Cliente: ");
                String enderecoCliente = scanner.nextLine();
                System.out.println("Digite um telefone para contato: ");
                int foneCliente = Integer.parseInt(scanner.nextLine());
                Cliente cliente = new Cliente(nomeCliente, 
                        enderecoCliente, foneCliente);
                ListaCliente cli = new ListaCliente();
                if(cli.BuscarCliente(cliente, listaCliente) == true)
                    System.out.println("Cliente já cadastrado\n");
                else
                    listaCliente.add(cliente);
                //retirar
                for(Cliente l:listaCliente){
                    System.out.println("\nnome: " +l.getNomeCliente()+ "\nendereco: " 
                   + l.getEnderecoCliente() + "\nFone: " +l.getFoneCliente() 
                   + "\n" ); 
                }
                break;
            case 2:
                //realiza as compras de produtos
                System.out.println("Digite o nome do Produto: ");
                String nomeItem = scanner.nextLine();
                System.out.println("Digite a quantidade comprada: ");
                int qtdItem= Integer.parseInt(scanner.nextLine());
                
                
                ListaMercadoria mer = new ListaMercadoria();
                if(mer.buscaMercadoria(nomeItem, qtdItem, listaMercadoria) == true){
                    System.out.println("Produto já cadastrado\n");
                }else{
                    System.out.println("Digite o preco unitário: ");
                    float precoItem = Float.parseFloat(scanner.nextLine());
                    Mercadoria produto = new Mercadoria(nomeItem, 
                        qtdItem, precoItem);
                    listaMercadoria.add(produto);
                }
                  
                //retirar
                for(Mercadoria m:listaMercadoria){
                    System.out.println("\nMercadoria: " + m.getNomeItem()
                    + "\nQuantidade: " + m.getQtdItem()+
                    "\nPreco: " + m.getPrecoItem() + "\n");
                }
                break;
            case 3:
                //realiza as vendas
                System.out.println("Digite o Nome do Cliente: ");
                nomeCliente = scanner.nextLine();
                float ValTot = 0;
                Cliente cl = null;
                Venda venda = new Venda ();
                
                ArrayList<Mercadoria> listaVendaCliente = 
                        new ArrayList<Mercadoria>();
                
                ListaVenda ven = new ListaVenda();
                
                ven.realizaVenda(listaCliente, 
                        listaMercadoria, listaVendaCliente, cl, venda, 
                        nomeCliente, ValTot);
                
                //Testa se objeto venda não e vazio
                if(venda.getNomeCliente()!= null && venda.getListaComprasCliente() != null){
                    //Adiciona na lista de venda
                    listaVenda.add(venda);
                    
                }
                break;
            case 4:
                //Gera Relatorios
                Relatorio relatorio = new Relatorio();
                System.out.println("Digite: \n"
                        + "1-para gerar um relatorio de vendas por cliente"
                        + " 2-para gera um relatorio de vendas por mercadoria"
                        + " 3-para gera um relatorio dos itens em estoque");
                int p = Integer.parseInt(scanner.nextLine());
                switch (p){
                    case 1:
                        System.out.println("\nDigite o nome do cliente: ");
                        nomeCliente = scanner.nextLine();
                        System.out.println("Digite o numero de telefone"
                                + " do cliente:");
                        foneCliente = Integer.parseInt(scanner.nextLine());
                        Relatorio relatorioCliente = new Relatorio();
                        relatorioCliente.relatorioCliente(listaCliente, listaVenda, 
                                nomeCliente, foneCliente);
                        
                        break;
                    case 2:
                        System.out.println("\nDigite o nome do produto: ");
                        nomeItem = scanner.nextLine();
                        Relatorio relatorioItem = new Relatorio();
                        relatorioItem.relatorioItem(listaVenda, nomeItem);
                        break;
                    case 3:
                        
                        Relatorio relatorioEstoque = new Relatorio();
                        relatorioEstoque.relatorioEstoque(listaMercadoria);
                        break;
                }
                break;
                
            }
        }while(op != 0);
   
        arquivos.gravaArquivo(listaCliente, listaMercadoria, listaVenda);
    }*/
}
